/**********************************************************************************************/
// dgt_AbstractPlugin.h
//
// 
// Copyright Diamant Group 2007
/**********************************************************************************************/
#ifndef _DGT_ELEMENTPLUGIN_H_
#define _DGT_ELEMENTPLUGIN_H_

#include "dgt_Plugin.h"
#include "dgtKernel.h"
#include "dgt_SmartMacros.h"

SMART_CLASS( dgt_ElementPlugin );

/**********************************************************************************************/
// Interface of abstract element plugin
//
interface dgt_ElementPlugin: public dgt_Plugin
{
							dgt_ElementPlugin( void ) {};

virtual						~dgt_ElementPlugin( void ) {};

virtual	unsigned long		get_ElementCount( void ) = 0;

virtual	dgt_Element_Ptr		get_Element( int inNum ) = 0;

};

#endif // _DGT_ELEMENTPLUGIN_H_
